<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>平面与直线</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="../../css/note.css" />
</head>
<body>

<p>	本章结合坐标法与向量法, 利用仿射坐标系研究空间中的平面与直线.</p>

<h2>平面的线性性质</h2>

<h3>平面的参数方程和普通方程</h3>

<p class="definition">
	向量 `bm v` 与平面 `pi` 平行与 `bm v` 在 `pi` 上等同,
	记为 `bm v //// pi`.
</p>

<p>	取定仿射标架 `{O";" bm d_1, bm d_2, bm d_3}`, 设 `P_0(x_0, y_0, z_0)`,
	向量 `bm r_1 = (x_1, y_1, z_1)` 和 `bm r_2 = (x_2, y_2, z_2)`
	线性无关, 则点 `P_0` 和向量 `bm r_1, bm r_2` 唯一确定了平面
	`pi`, 使得 `P_0 in pi`, `bm r_i //// pi`, `i = 1, 2`.
	我们有
	<span class="formula">
		<b>点 `P` 落在由 `P_0`, `bm r_1, bm r_2` 确定的平面上当且仅当
			`vec(P_0 P), bm r_1, bm r_2` 线性相关.</b>
	</span>

	由于 `bm r_1, bm r_2` 线性无关, 所以 `vec(P_0 P)` 可以唯一表示为
	<span class="formula">
		`vec(P_0 P) = u bm r_1 + v bm r_2`, `u, v in RR`.
	</span>
	改写得到平面的<b>参数方程</b>
	<span class="formula">`{
		x = x_0 + x_1 u + x_2 v;
		y = y_0 + y_1 u + y_2 v;
		z = z_0 + z_1 u + z_2 v;
	:}` `quad` `u, v in RR`.
	</span>
</p>

<p>	另一方面, 平面 `pi` 的方程也可以是
	<span class="formula">
		`(vec(P_0 P), bm r_1, bm r_2) = 0`,
	</span>
	即
	<span class="formula">
		`|x-x_0, y-y_0, z-z_0; x_1, y_1, z_1; x_2, y_2, z_2| = 0`.
	</span>
	令 `A = |y_1, z_1; y_2, z_2|`, `B = |z_1, x_1; z_2, x_2|`,
	`C = |x_1, y_1; x_2, y_2|`, `D = -(Ax_0 + By_0 + Cz_0)`,
	上式化为平面的<b>普通方程</b>
	<span class="formula">
		`Ax + By + Cz + D = 0`.
	</span>
	由于 `bm r_1, bm r_2` 线性无关, `bm r_1 xx bm r_2 != bb 0`,
	所以 `A, B, C` 不全为零, 平面的普通方程是三元一次方程.
</p>

<p class="theorem">
	仿射坐标系下, 平面的方程是三元一次方程,
	反之可以验证, 由 `P_0(-D//A, 0, 0)`, `bm r_1 = (-B//A, 1, 0)`,
	`bm r_2 = (-C//A, 0, 1)` 确定的平面方程正好是
	`Ax + By + Cz + D = 0`, 所以任意三元一次方程表示一个平面.
</p>

<p class="theorem" id="the-vector-plane-parallel">
	向量 `bm w = (x_0, y_0, z_0)` 与平面 `Ax + By + Cz + D = 0`
	平行当且仅当它适合齐次方程
	<span class="formula">
		`Ax_0 + By_0 + Cz_0 = 0`.
	</span>
</p>

<p class="corollary">
	`x` 轴 (`y` 轴, `z` 轴) 与平面 `pi: Ax + By + Cz + D = 0`
	平行或落在平面上当且仅当 `A = 0` (`B = 0`, `C = 0`);
	原点落在平面 `pi` 上当且仅当 `D = 0`.
</p>

<h3>平面的相对位置</h3>

<ol class="theorem">
	设平面 `pi_1`, `pi_2` 的方程分别为

		`A_i x + B_i y + C_i z + D_i = 0`, `i = 1, 2`.

	则
	<li>`pi_1` 与 `pi_2` 相交当且仅当两方程的一次项系数不成比例;</li>
	<li>`pi_1` 与 `pi_2` 平行当且仅当两方程的一次项系数成比例,
		但与常数项不成比例;</li>
	<li>`pi_1` 与 `pi_2` 重合当且仅当两方程的所有系数成比例.</li>
</ol>

<p class="theorem">
	由 Cramer 法则知道, 三平面

		`A_i x + B_i y + C_i z + D_i = 0`, `i = 1, 2, 3`

	恰有一个公共点当且仅当
	<span class="formula">
		`|A_1, B_1, C_1; A_2, B_2, C_2; A_3, B_3, C_3| != 0`.
	</span>
</p>

<h3>平面方程小集</h3>

<p>	约定 `P = (x, y, z)`,
	`varphi(P) = Ax + By + Cz`,
	`f(P) = varphi(P) + D`.
</p>

<table>
	<tr>
		<td></td>
		<td>条件</td>
		<td>平面 `pi` 的方程</td>
	</tr>
	<tr>
		<td>参数方程</td>
		<td>`P_0 in pi`,
			`bm r_i //// pi`, `i = 1, 2`.
			`bm r_1 xx bm r_2 != bb 0`
		</td>
		<td>`P = P_0 + u bm r_1 + v bm r_2`, `u, v in RR`</td>
	</tr>
	<tr>
		<td>点向式</td>
		<td>`P_0(x_0, y_0, z_0) in pi`,
			`bm r_i = (x_i, y_i, z_i) //// pi`,
			`i = 1, 2`.
			`bm r_1 xx bm r_2 != bb 0`
		</td>
		<td>
			`|x-x_0, y-y_0, z-z_0;
			  x_1, y_1, z_1;
			  x_2, y_2, z_2| = 0`
		</td>
	</tr>
	<tr>
		<td>不共线的三点</td>
		<td>不共线的三点 `(x_i, y_i, z_i) in pi`, `i = 1, 2, 3`</td>
		<td>
			`|x, y, z, 1;
			  x_1, y_1, z_1, 1;
			  x_2, y_2, z_2, 1;
			  x_3, y_3, z_3, 1| = 0`
		</td>
	</tr>
	<tr>
		<td>三截距</td>
		<td>`(a,0,0)`, `(0,b,0)`, `(0,0,c) in pi`,
			`a, b, c != 0`
		</td>
		<td>`x/a + y/b + z/c = 1`</td>
	</tr>
	<tr>
		<td>有轴平面束</td>
		<td>两平面 `pi_i: f_i(P) = 0`, `i = 1,2`
			相交于直线 `l`, `l sub pi`
		</td>
		<td>`  lambda f_1 + mu f_2 = 0`,
			`lambda, mu` 不全为零
		</td>
	</tr>
	<tr>
		<td>一点一平面</td>
		<td>`P_0 in pi`,
			`pi_0: f(P) = 0 //// pi`
		</td>
		<td>`varphi(P - P_0) = 0`</td>
	</tr>
	<tr>
		<td>点法式 (正交标架)</td>
		<td>`P_0 in pi`,
			`bm n = (A, B, C) _|_ pi`
		</td>
		<td>`varphi(P - P_0) = 0`</td>
	</tr>
</table>

<ol class="proof">
	<li></li>
	<li>首先容易验证 `(a,0,0)`, `(0,b,0)`, `(0,0,c)` 三点适合方程;
		其次所给方程是三元一次方程, 它表示一个平面.
		由几何知识知道, 过不共线三点的平面是唯一的.
	</li>
	<li>由四点共面的充要条件立即得到.</li>
	<li></li>
	<li>依题意, <b>点 `P` 落在 `pi` 上当且仅当 `vec(P_0 P) _|_ bm n`</b>.
		所以 `pi` 的方程是
		<span class="formula">
			`vec(P_0 P) * bm n = 0`,
		</span>
		即
		<span class="formula">
			`A(x - x_0) + B(y - y_0) + C(z - z_0) = 0`.
		</span>
	</li>
</ol>

<ol class="remark">
	<li>几何空间中经过同一直线的所有平面组成的集合称为<b>有轴平面束</b>,
		这条直线称为平面束的轴.
		容易看出, 由两相交平面 `pi_1`, `pi_2` 确定的有轴平面束由
		`pi_1`, `pi_2` 的全体线性组合构成.
	</li>
	<li>由 "一点一平面" 的结果知道, 满足
		<span class="formula">
			`Ax + By + Cz = delta`
		</span>
		的点的轨迹是一平面, 与平面 `pi: Ax + By + Cz + D = 0` 平行
		(或重合).  当参数 `delta` 变化时, 上述方程取遍全体与平面 `pi`
		平行的平面族.
	</li>
	<li>由点法式知道, 正交标架下, `(A, B, C)` 是平面 `Ax + By + Cz + D =
		0` 的一个法向量.  另外, <b>两平面垂直当且仅当它们的法向量垂直</b>,
		即 `bm n_1 * bm n_2 = 0`, 亦即 `A_1 A_2 + B_1 B_2 + C_1 C_2 = 0`.
	</li>
</ol>


<h3>三元一次不等式的几何意义</h3>

<p class="theorem" id="the-plane-definite-proportion">
	设点 `P_0` 在平面 `f(P) = 0` 上, `P_0, P_1, P_2` 三点共线, 则
	<span class="formula">
		`f(P_1) vec(P_0 P_2) = f(P_2) vec(P_0 P_1)`.
	</span>
</p>

<p class="proof">
	方程 `f(P) = 0` 可以写成 `varphi(P) + D = 0`,
	其中 `varphi` 是线性函数.
	由 `P_0` 在平面上得 `varphi(P_0) = -D`.
	<br/>
	若 `P_1` 不在平面上, 有 `varphi(P_1) != varphi(P_0)`,
	即 `varphi(P_1 - P_0) != 0`.
	由 `P_0, P_1, P_2` 三点共线,
	且 `vec(P_0 P_1) != bb 0` 知,
	存在 `k in RR` 使 `vec(P_0 P_2) = k vec(P_0 P_1)`,
	于是 `varphi(P_2 - P_0) = k varphi(P_1 - P_0)`.
	从而
	<span class="formula">
		` k
		= (varphi(P_2 - P_0)) / (varphi(P_1 - P_0))
		= (varphi(P_2) - varphi(P_0)) / (varphi(P_1) - varphi(P_0))`
		`= (varphi(P_2) + D) / (varphi(P_1) + D)
		= f(P_2) / f(P_1)`.
	</span>
	现在设 `P_1` 在平面上, 即 `f(P_1) = 0`.
	若 `P_1 = P_0`, 结论已经成立; 若 `P_1 != P_0`, 则 `P_1, P_0`
	是平面上不同的两点, 连接它们的直线必定位于该平面上,
	故 `f(P_2) = 0`, 结论也成立.
</p>

<p class="theorem">
	设平面 `pi: f(P) = 0`,
	则空间中全体适合不等式 `f(P) gt 0` 的点位于平面 `pi` 的同侧;
	全体适合不等式 `f(P) lt 0` 的点位于平面 `pi` 的另一侧.
</p>

<ol class="proof">
	将方程 `f(P) = 0` 写为 `varphi(P) + D = 0`, 其中 `varphi` 是线性函数.
	在空间中取两点 `P_1, P_2`.
	<li>若 `f(P_1) = f(P_2)`, 即 `varphi(P_1 - P_2) = 0`.
		由<a class="ref" href="#the-vector-plane-parallel"></a>,
		`vec(P_1 P_2)` 平行于平面, 于是 `P_1, P_2` 位于平面同侧.
	</li>
	<li>若 `f(P_1) f(P_2) gt 0`, 且 `f(P_1) != f(P_2)`,
		`vec(P_1 P_2)` 与平面不平行. 设直线 `P_1 P_2` 与平面交于点 `P_0`.
		由<a class="ref" href="#the-plane-definite-proportion"></a>,
		`vec(P_0 P_1)` 与 `vec(P_0 P_2)` 同向, 即 `P_1, P_2` 位于平面同侧.
	</li>
	<li>`f(P_1) f(P_2) lt 0` 时可类似证明, `P_1, P_2` 位于平面异侧.</li>
</ol>

<h2>平面的度量性质</h2>

<h3>点到平面的距离</h3>

<p class="lemma" id="lem-distance-from-point-to-plane">
	设 `bm n` 是平面的一个单位法向量, `P_0` 是平面上一点,
	空间一点 `P` 在平面上的射影 (即垂足) 是 `P_1`, 则
	<span class="formula">
		`vec(P_1 P) = (vec(P_0 P) * bm n) bm n`,
	</span>
	于是 `P` 到该平面的距离为
	<span class="formula">
		`|vec(P_1 P)| = |vec(P_0 P) * bm n|`.
	</span>
</p>

<p class="proof">
	由 `vec(P_1 P) //// bm n` 知,
	存在唯一的 `delta in RR`, 使
	<span class="formula">
		`vec(P_1 P) = delta bm n`.
	</span>
	上式两边与 `bm n` 作内积,
	<span class="formula">
		` delta
		= delta bm n * bm n
		= vec(P_1 P) * bm n
		= cc P_(bm n)(vec(P_0 P)) * bm n
		= vec(P_0 P) * bm n`.
	</span>
</p>

<p class="theorem" id="the-distance-from-point-to-plane">
	<b>正交标架下点到平面的垂向量, 点到平面的距离及对称点</b>
	正交标架下, 设空间一点 `P(x, y, z)` 在平面
	`Ax + By + Cz + D = 0` 上的射影是 `P_1`, 则
	<span class="formula">
		`vec(P_1 P) = (A x+B y+C z+D) bm n/|bm n|^2`,
	</span>
	其中 `bm n = (A, B, C)` 是平面的法向量.
	于是 `P` 到该平面的距离为
	<span class="formula">
		` |vec(P_1 P)| = |A x+ B y+C z+D|/sqrt(A^2+B^2+C^2)`.
	</span>
	又设 `Q` 是 `P` 关于该平面的对称点, 则
	<span class="formula">
		`vec(PQ) = -2 vec(P_1 P)`.
	</span>
</p>

<p class="proof">
	选取平面上一点 `P_0(x_0, y_0, z_0)`, 则
	<span class="formula">
		`-(A x_0+B y_0+C z_0) = D`.
	</span>
	由<a class="ref" href="#lem-distance-from-point-to-plane"></a>,
	<span class="formula">
		`  vec(P_1 P)
		 = (vec(P_0 P) * (bm n)/|bm n|) (bm n)/|bm n|`
		`= (A(x-x_0) + B(y-y_0) + C(z-z_0)) (bm n)/|bm n|^2`
		`= (A x+B y+C z+D) (bm n)/|bm n|^2`.
	</span>
</p>

<p class="remark">
	称满足 `vec(P_1 P) = delta (bm n)/|bm n|` 的实数
	<span class="formula">
		`delta = (Ax_P + By_P + Cz_P + D)/sqrt(A^2+B^2+C^2)`
	</span>
	为点 `P` 到平面 `Ax + By + Cz + D = 0` 的<b>离差</b>.
	离差的绝对值等于点到平面的距离, 符号与单位法向量的选取有关.
</p>

<p class="corollary">
	正交标架下, 两平行平面
	<span class="formula">
		`pi_1: Ax + By + Cz + D_1 = 0`,<br/>
		`pi_2: Ax + By + Cz + D_2 = 0`
	</span>
	的距离
	<span class="formula">
		`d = |D_1 - D_2|/sqrt(A^2 + B^2 + C^2)`.
	</span>
</p>

<p class="proof">
	选取点 `(x_2, y_2, z_2) in pi_2`, 则
	<span class="formula">
		`Ax_2 + By_2 + Cz_2 = -D_2`.
	</span>
	由<a class="ref" href="#the-distance-from-point-to-plane"></a>,
	<span class="formula">
		` d
		= |Ax_2 + By_2 + Cz_2 + D_1|/sqrt(A^2+B^2+C^2)
		= |D_1 - D_2|/sqrt(A^2+B^2+C^2)`.
	</span>
</p>

<h3>两平面的夹角</h3>

<p class="definition">
	<b>两平面的夹角</b>是指两平面交成四个二面角中的任一个,
	也指两平面的法向量之间的夹角或其补角.
	由定义知道, 两平行 (或重合) 平面的夹角等于 `0` 或 `pi`.
</p>

<p class="corollary">
	正交标架下, 两平面
	<span class="formula">
		`pi_1: A_1 x + B_1 y + C_1 z + D = 0`,<br/>
		`pi_2: A_2 x + B_2 y + C_2 z + D = 0`
	</span>
	的一个夹角 `theta` 满足
	<span class="formula">
		`cos theta = (bm n_1 * bm n_2)/(|bm n_1| |bm n_2|)
		= (A_1 A_2 + B_1 B_2 + C_1 C_2)
		  / (sqrt(A_1^2 + B_1^2 + C_1^2) sqrt(A_2^2 + B_2^2 + C_2^2))`.
	</span>
	`cos theta gt 0` 时 `theta` 为锐角,
	`cos theta lt 0` 时 `theta` 为钝角,
	`cos theta = 0` 时 `theta` 为直角.
</p>

<h2>平面上直线的若干性质与事实</h2>

<ul>因为平面上直线的性质与事实可以完全类似于空间中的平面建立起来,
	我们不拟作重复的推导, 只将若干平行的事实罗列如下:
	<li>在平面仿射标架 `{O";" bm d_1, bm d_2}` 下, 由点 `P_0(x_0,y_0)`
		和向量 `bm r_1 = (x_1,y_1) != bb 0` 唯一确定了直线 `l`,
		使得 `P_0 in l`, `bm r_1 //// l`. 且点 `P` 落在直线 `l`
		上当且仅当 `vec(P_0 P) //// r_1`:
		<span class="formula">
			`vec(P_0 P) = t bm r_1`, `quad t in RR`.
		</span>
		直线的<b>参数方程</b>是
		<span class="formula">`{
			x = x_0 + x_1 t;
			y = y_0 + y_1 t;
		:}` `quad t in RR`.<br/>
		</span>
		另一方面由
		<span class="formula">
			`(vec(P_0 P), bm r_1)`
			`= | x-x_0,y-y_0; x_1, y_1 |`
			`= 0`,
		</span>
		得到<b>普通方程</b>
		<span class="formula">
			`A x + B y + C = 0`.
		</span>
	</li>
	<li>平面仿射标架下, 直线的方程是二元一次方程,
		反之任意二元一次方程表示一条直线.
	</li>
	<li>向量 `bm w = (x_0,y_0)` 与直线 `A x + B y + C = 0`
		平行当且仅当它适合齐次方程
		<span class="formula">
			`A x_0 + B y_0 = 0`.
		</span>
	</li>
	<li>`x` 轴 (`y` 轴) 与直线 `l: A x + B y + C = 0` 平行或重合当且仅当
		`A = 0` (`B = 0`); `l` 过原点当且仅当 `C = 0`.
	</li>
	<li>两直线 `A_i x + B_i y + C_i = 0`, `i = 1, 2`
		相交当且仅当两方程的一次项系数不成比例, 此时两直线恰有一个公共点:
		由 Cramer 法则, 这当且仅当
		<span class="formula">
			`|A_1,B_1; A_2,B_2| != 0`;
		</span>
		两直线平行当且仅当两方程的一次项系数成比例, 但与常数项不成比例;
		两直线重合当且仅当两方程的所有系数成比例.
	</li>
	<li>正交标架下, 直线 `l: A x + B y + C = 0`, `P_0(x_0,y_0) in l`.
		当 `B != 0` 时, `(y-y_0)/(x-x_0)` 为一常数 `k`, 称为 `l`
		的<b>斜率</b>. 斜率存在的充要条件是直线与 `y` 轴不平行 (或重合).
		类似地, `A != 0` 时, `(x-x_0)/(y-y_0)` 为一常数 `m`, 称为 `l` 的
		`x`-斜率, 显然 `k, m` 都存在时, 有 `k m = 1`.
	</li>
	<li>斜率存在时, 两直线垂直当且仅当 `k_1 k_2 = -1`,
		两直线平行或重合当且仅当 `k_1 = k_2`, 两直线相交当且仅当 `k_1 !=
		k_2`.
	</li>
	<li>直线方程小集.  约定 `P = (x,y,z)`, `varphi(P) = A x + B y`, `f(P)
		= varphi(P) + C`.
		<table>
			<tr>
				<td></td>
				<td>条件</td>
				<td>直线 `l` 的方程</td>
			</tr>
			<tr>
				<td>参数方程</td>
				<td>`P_0 in l`, `bm r_1 //// l`, `bm r_1 != bb 0`</td>
				<td>`P = P_0 + t bm r_1`, `t in RR`</td>
			</tr>
			<tr>
				<td>点向式</td>
				<td>`P_0(x_0,y_0) in l`,
					`bm r_1 = (x_1,y_1) //// l`, `bm r_1 != bb 0`
				</td>
				<td>`|x-x_0,y-y_0; x_1,y_1| = 0`</td>
			</tr>
			<tr>
				<td>两点式</td>
				<td>不重合的两点 `(x_i,y_i) in l`, `i = 1,2`</td>
				<td>`|x,y,1; x_1,y_1,1; x_2,y_2,1| = 0`</td>
			</tr>
			<tr>
				<td>截距式</td>
				<td>`(a,0)`,`(0,b) in l`, `a, b != 0`</td>
				<td>`x/a + y/b = 1`</td>
			</tr>
			<tr>
				<td>点斜式</td>
				<td>`P_0(x_0,y_0) in l`, `l` 的斜率为 `k`</td>
				<td>`y-y_0 = k(x-x_0)`</td>
			</tr>
			<tr>
				<td>斜率式 (y)</td>
				<td>`l` 的斜率为 `k`, `(0,b) in l`</td>
				<td>`y = k x + b`</td>
			</tr>
			<tr>
				<td>斜率式 (x)</td>
				<td>`l` 的 `x`-斜率为 `m`, `(a,0) in l`</td>
				<td>`x = m y + a`</td>
			</tr>
			<tr>
				<td>直线束</td>
				<td>两直线 `l_i: f_i(P) = 0`, `i = 1, 2` 交于一点,
					`l` 过其交点
				</td>
				<td>`lambda f_1 + mu f_2 = 0`, `lambda, mu` 不全为零</td>
			</tr>
			<tr>
				<td>一点一直线</td>
				<td>`P_0 in l`, `l_0: f(P) = 0 //// l`</td>
				<td>`varphi(P-P_0) = 0`</td>
			</tr>
			<tr>
				<td>点法式 (正交标架)</td>
				<td>`P_0 in l`, `bm n = (A,B) _|_ l`</td>
				<td>`varphi(P-P_0) = 0`</td>
			</tr>
		</table>
	</li>
	<li>设直线 `l: f(P) = 0`, 则平面上全体适合二元一次不等式 `f(P) gt 0`
		的点位于直线的同侧, 全体适合 `f(P) lt 0` 的点位于直线的另一侧.
	</li>
	<li>设 `bm n` 是直线的一个法向量, `bm n_1 = (bm n)/|bm n|`
		是单位法向量, `P_0` 在直线上, 则平面上一点 `P` 在直线上的垂足
		`P_1` 满足
		<span class="formula">
			`vec(P_1 P) = (vec(P_0 P) * bm n_1) bm n_1`,
		</span>
		`P` 到直线的距离为 `|vec(P_1 P)| = |vec(P_0 P) * bm n|`.
		特别在正交标架下, 设 `l: A x + B y + C = 0`, 则
		<span class="formula">
			`vec(P_1 P) = (A x_P + B x_P + C)(bm n)/|bm n|^2`,<br/>
			`|vec(P_1 P)| = |A x_P + B x_P + C|/sqrt(A^2+B^2)`.
		</span>
		正交标架下, 两平面 `A x + B y + C_i`, `i = 1, 2` 的距离等于
		<span class="formula">
			`|C_1-C_2|/sqrt(A^2+B^2)`
		</span>
	</li>
	<li>两直线的夹角是指两直线交成的四个角中的任一个,
		也指两直线的法向量之间的夹角或其补角. 两平行 (或重合)
		直线的夹角等于 `0` 或 `pi`.
		正交标架下, 两直线
		<span class="formula">
			`A_i x + B_i y + C = 0`, `i = 1,2`
		</span>
		的一个夹角 `theta` 满足
		<span class="formula">
			`cos theta = (bm n_1 * bm n_2)/(|bm n_1| |bm n_2|)`
			`= (A_1 A_2 + B_1 B_2)/(sqrt(A_1^2+B_1^2) sqrt(A_2^2+B_2^2))`.
		</span>
	</li>
	<li>把从 `x` 轴正方向以逆时针旋转到直线方向上的小于 `pi` 的角称为
		<b>直线与 `bm x` 轴正方向的夹角</b>或<b>直线的倾斜角</b>, 记为
		`alpha`. 正交标架下, 联系斜率的概念, 有
		<span class="formula">
			`tan alpha = k`.
		</span>
		记 `Delta x = x_2-x_1`, `Delta y = y_2-y_1`.
		直线上从 `(x_1,y_1)` 到 `(x_2,y_2)` 的弦长等于
		<span class="formula">
			`(Delta x)/|cos alpha| = sqrt(1+k^2) Delta x`
			`= (Delta y)/(sin alpha) = sqrt(1+m^2) Delta y`.
		</span>
	</li>
</ul>

<p class="example">
  平面上直线 `a` 由点 `A` 和方向向量 `bm a` 确定, 直线 `b` 由点 `B`
  和方向向量 `bm b` 确定. 若 `bm a, bm b` 不平行, 求两直线的交点 `P`.
</p>

<p class="solution">
  在三角形 `ABP` 中使用正弦定理
  <span class="formula">
    `|AP| = |AB| (sin B)/(sin P)`
    `= |vec(AB) xx bm b|/|bm a xx bm b| |bm a|`
  </span>
  用右手法则可以得到: `vec(AP)` 和 `bm a` 同向当且仅当 `vec(AB) xx bm b` 和
  `bm a xx bm b` 同向.<br>
  有了 `vec(AP)` 的大小和方向, 用 `A` 的坐标加上 `vec(AP)` 就得到 `P`
  的坐标.
</p>

<p>	下面回到空间直线.</p>

<h2>直线的线性性质</h2>

<h3>直线的参数方程和标准方程</h3>

<p>	取定仿射标架 `{O";" bm d_1, bm d_2, bm d_3}`, 设 `P_0(x_0, y_0, z_0)`,
	非零向量 `bm r = (X, Y, Z)`,
	则点 `P_0` 和向量 `bm r` 唯一确定了直线
	`l`, 使得 `P_0 in l`, `bm r //// l`.
	我们有
	<span class="formula">
		<b>点 `P` 落在由 `P_0`, `bm r` 确定的直线上当且仅当 `vec(P_0 P),
			bm r` 线性相关.</b>
	</span>
	由于 `bm r != bb 0`, 所以 `vec(P_0 P)` 可以唯一表示为
	<span class="formula">
		`vec(P_0 P) = t bm r`, `t in RR`.
	</span>
	改写得到直线的<b>参数方程</b>
	<span class="formula">`{
		x = x_0 + X t;
		y = y_0 + Y t;
		z = z_0 + Z t;
	:}` `quad`, `t in RR`.
	</span>
</p>

<p>	另一方面, 直线 `l` 的方程也可以是
	<span class="formula">
		`vec(P_0 P) xx bm r = bb 0`,
	</span>
	即
	<span class="formula">
		` |x-x_0, y-y_0; X, Y|
		= |y-y_0, z-z_0; Y, Z|`
		`= |z-z_0, x-x_0; Z, X| = 0`.
	</span>
	约定分母为零时分子也为零, 且 `0/0` 表示任意实数,
	则上式化为<b>标准方程</b>或<b>点向式方程</b>:
	<span class="formula">
		`(x-x_0)/X = (y-y_0)/Y = (z-z_0)/Z`.
	</span>
	这是两个方程联立的方程组. 对任意非零实数 `k`, 称 `kX, kY, kZ`
	为直线的<b>方向系数</b>.
</p>

<h3>直线方程小集</h3>

<table>
	<tr>
		<td></td>
		<td>条件</td>
		<td>直线 `l` 的方程</td>
	</tr>
	<tr>
		<td>参数方程</td>
		<td>`P_0 in l`,
			`bm r //// l`,
			`bm r != bb 0`
		</td>
		<td>`P = P_0 + t bm r`, `t in RR`</td>
	</tr>
	<tr>
		<td>标准方程 (点向式)</td>
		<td>`(x_0, y_0, z_0) in l`,
			`bm r = (X, Y, Z) //// l`,
			`bm r != bb 0`
		</td>
		<td>`(x-x_0)/X = (y-y_0)/Y = (z-z_0)/Z`</td>
	</tr>
	<tr>
		<td>两点式</td>
		<td>`P_i(x_i, y_i, z_i) in l`, `i = 1, 2`,
			`P_1 != P_2`
		</td>
		<td>`(x-x_1)/(x_2-x_1) = (y-y_1)/(y_2-y_1) = (z-z_1)/(z_2-z_1)`
		</td>
	</tr>
	<tr>
		<td>普通方程 (两平面)</td>
		<td>两平面 `f_i(P) = 0`, `i = 1, 2` (系数不成比例) 相交于 `l`</td>
		<td>`{f_1(P) = 0; f_2(P) = 0 :}`</td>
	</tr>
</table>

<ol class="proof">
	
</ol>

<ol class="remark" id="rem-line-equation-convert">
	<li>标准方程在可化为普通方程. 不妨令 `X != 0`, 则
		<span class="formula">`{
			(x-x_0)/X = (y-y_0)/Y;
			(x-x_0)/X = (z-z_0)/Z;
		:}`
		</span>
		它表示一个平行于或经过 `z` 轴的平面与一个平行于或经过 `y`
		轴的平面的交线.
	</li>
	<li>普通方程可化为标准方程.
		这只需求出直线的方向向量和直线上一点.
		设 `bm r = (X, Y, Z)` 是直线的方向向量,
		则 `bm r` 与两平面都平行. 由<a class="ref"
			href="#the-vector-plane-parallel"></a>知, `bm r` 满足方程组
		<span class="formula">`{
			A_1 X + B_1 Y + C_1 Z = 0;
			A_2 X + B_2 Y + C_2 Z = 0;
		:}`
		</span>
		代入验证可知
		<span class="formula">
			` bm r
			= |bm d_1, bm d_2, bm d_3;
			   A_1, B_1, C_1;
			   A_2, B_2, C_2|`
		</span>
		是方程组的解 (行列式中若有相同的两行, 则行列式等于 0).
		因为两平面方程的系数不成比例, 所以 `bm r != bb 0`.
		为了得到直线上的一点, 不妨设 `|A_1, B_1; A_2, B_2| != 0`,
		在两平面的方程中令 `z = 0`, 解关于 `x, y` 的方程组即得.
		<br/>
		在直角坐标系中, 上述过程显得更加直观:
		因为 `bm r` 平行于两平面, 所以 `bm r` 垂直于它们的法向量
		`bm n_1 = (A_1, B_1, C_1)`, `bm n_2 = (A_1, B_1, C_1)`.
		因此可以取
		<span class="formula">
			`bm r = bm n_1 xx bm n_2`,
		</span>
		此即上面所取的非零特解.
	</li>
</ol>

<h3>两直线的相对位置, 直线与平面的相对位置</h3>

<ol class="algorithm">
	<b>判断两直线的位置关系</b>
	设两直线的参数方程是 `P = P_i + t bm r_i`, `i = 1, 2`. 则
	<li>两直线异面当且仅当 `bm r_1, bm r_2, vec(P_1 P_2)` 线性无关;</li>
	<li>两直线交于一点当且仅当上面的条件不成立,
		且 `bm r_1, bm r_2` 线性无关;</li>
	<li>两直线平行但不重合当且仅当上面的条件都不成立, 且
		`bm r_1, vec(P_1 P_2)` 线性无关;
	</li>
	<li>两直线重合当且仅当上面各条件都不成立.</li>
<pre>
	if `(bm r_1, bm r_2, vec(P_1 P_2)) != 0`:
		两直线异面
	elif `bm r_1, bm r_2` 线性无关:
		两直线交于一点
	elif `bm r_1, vec(P_1 P_2)` 线性无关:
		两直线平行, 但不重合
	else:
		两直线重合
</pre>
</ol>

<ol class="algorithm">
	<b>判断直线与平面的位置关系</b>
	设直线的参数方程是 `P = P_0 + t bm r`, 平面的普通方程是
	`f(P) = varphi(P) + D = 0`. 则
	<li>直线与平面相交当且仅当 `bm r` 与平面不平行;</li>
	<li>直线与平面平行, 但不在平面上当且仅当上面的条件不成立, 且
		`P` 不在平面上;
	</li>
	<li>直线在平面上当且仅当上面的条件都不成立.</li>
<pre>
	if `varphi(bm r) != 0`:
		直线与平面相交
	elif `f(P) != 0`:
		直线与平面平行, 但不在平面上
	else:
		直线在平面上.
</pre>
</ol>

<h3>杂例</h3>

<p class="example">
	直线
	`{A_1 x + B_1 y + C_1 z + D_1 = 0;
	A_2 x + B_2 y + C_2 z + D_2 = 0 :}`
	和平面 `A_3 x + B_3 y + C_3 z + D_3  = 0` 平行或在平面上当且仅当
	<span class="formula">
		`|A_1, B_1, C_1; A_2, B_2, C_2; A_3, B_3, C_3| = 0`.
	</span>
</p>

<p class="proof">
	设 `bm r = (X, Y, Z) != bb 0` 是直线的方向向量,
	则 `bm r` 与三个平面都平行, 即
	<span class="formula">`{
		A_1 X + B_1 Y + C_1 Z = 0;
		A_2 X + B_2 Y + C_2 Z = 0;
		A_3 X + B_3 Y + C_3 Z = 0;
	:}`
	</span>
	由线性方程组理论, 上面的齐次方程组有非零解当且仅当其系数行列式等于 0.
</p>

<p class="example">
	两直线 
	`{A_1 x + B_1 y + C_1 z + D_1 = 0;
	A_2 x + B_2 y + C_2 z + D_2 = 0 :}` 和
	`{A_3 x + B_3 y + C_3 z + D_3 = 0;
	A_4 x + B_4 y + C_4 z + D_4 = 0:}`
	有公共点, 则
	<span class="formula">
		`|A_1, B_1, C_1, D_1;
		A_2, B_2, C_2, D_2;
		A_3, B_3, C_3, D_3;
		A_4, B_4, C_4, D_4| = 0`.
	</span>
</p>

<p class="proof">
	考虑关于变元 `t_1, t_2, t_3, t_4` 的齐次线性方程组
	<span class="formula">`{
		A_1 t_1 + B_1 t_2 + C_1 t_3 + D_1 t_4 = 0;
		A_2 t_1 + B_2 t_2 + C_2 t_3 + D_2 t_4 = 0;
		A_3 t_1 + B_3 t_2 + C_3 t_3 + D_3 t_4 = 0;
		A_4 t_1 + B_4 t_2 + C_4 t_3 + D_4 t_4 = 0;
	:}`
	</span>
	设 `(x, y, z)` 是两直线的公共点, 则 `(x, y, z, 1)` 是此方程组的非零解,
	由线性方程组理论, 该方程组有非零解当且仅当其系数行列式等于 0.
</p>

<p class="example">
	与异面直线
	`{A_1 x + B_1 y + C_1 z + D_1 = 0;
	A_2 x + B_2 y + C_2 z + D_2 = 0 :}` 和
	`{A_3 x + B_3 y + C_3 z + D_3 = 0;
	A_4 x + B_4 y + C_4 z + D_4 = 0 :}`
	都相交的直线 `l` 的方程具有形式
	<span class="formula">`{
		lambda (A_1 x + B_1 y + C_1 z + D_1)
		+ mu (A_2 x + B_2 y + C_2 z + D_2) = 0;
		lambda' (A_3 x + B_3 y + C_3 z + D_3)
		+ mu' (A_4 x + B_4 y + C_4 z + D_4) = 0;
	:}`
	</span>
	其中 `lambda, mu` 不全为零, `lambda', mu'` 不全为零.
	即 `l` 可以表为两直线各自确定的平面束中的平面的交.
</p>

<h2>点, 直线, 平面的度量关系</h2>

<h3>点到直线的距离</h3>

<p class="theorem">
	设 `bm r` 是直线的单位方向向量, `P_0` 是直线上的点. 则空间一点 `P`
	到直线的距离为
	<span class="formula">
		`|vec(P_0 P) xx bm r|`.
	</span>
	即以 `vec(P_0 P), bm r` 为邻边的平行四边形在底边 `bm r` 上的高.
</p>

<h3>两直线的距离</h3>

<p class="definition">
	<b>两直线的距离</b>定义为两直线上的点之间的最短距离.
	若两直线 `l_1, l_2` 平行, 则 `l_1` 上一点到 `l_2` 的距离就是 `l_1,
	l_2` 的距离; 若 `l_1, l_2` 相交或重合, 它们的距离为 0.
	下面设 `l_1, l_2` 异面, 称分别与 `l_1, l_2` 垂直相交 (即正交) 的直线为
	`l_1, l_2` 的<b>公垂线</b>, 两垂足之间的线段称为<b>公垂线段</b>.
</p>

<p class="lemma">
	两异面直线的公垂线存在唯一.
</p>

<ol class="proof">
	设两异面直线 `l_i` 分别经过点 `P_i`,
	其方向向量分别为 `bm r_i`, `i = 1, 2`.
	因为 `bm r_1, bm r_2` 不共线, 所以 `bm r_i, bm r_1 xx bm r_2`
	不共线, `i = 1, 2`.
	设直线 `l_i` 与 `bm r_1 xx bm r_2` 确定平面 `pi_i`, `i = 1, 2`.
	考虑两平面的法向量
	`bm n_i = bm r_i xx (bm r_1 xx bm r_2)`, `i = 1, 2`,
	我们有
	<span class="formula">
		` bm n_1 xx bm n_2
		= ((bm r_1 * bm r_2) bm r_1 - |bm r_1|^2 bm r_2)
		  xx (|bm r_2|^2 bm r_1 - (bm r_1 * bm r_2) bm r_2)`
		`= (|bm r_1|^2 |bm r_2|^2 - (bm r_1 * bm r_2)^2)
		  bm r_1 xx bm r_2
		= |bm r_1 xx bm r_2|^2 bm r_1 xx bm r_2`.
	</span>
	于是 `bm n_1 xx bm n_2 != bb 0`, 即两个法向量不共线.
	所以 `pi_1, pi_2` 相交, 设它们的交线为 `l`.
	联系<a class="ref" href="#rem-line-equation-convert"></a>的 2,
	`bm n_1 xx bm n_2` 是 `l` 的方向向量.
	故 `bm r_1 xx bm r_2` 也是 `l` 的方向向量,
	这说明 `l` 与 `l_1, l_2` 都垂直.
	由于 `l, l_i sub pi_i`, 所以 `l` 与 `l_i` 相交, `i = 1, 2`.
	故 `l` 是 `l_1, l_2` 的公垂线.
	由于平面 `pi_1, pi_2` 及其交线都是唯一确定的,
	所以上述证明过程得到的公垂线是唯一的.
</ol>

<p class="theorem">
	设两异面直线 `l_i` 分别经过点 `P_i`,
	其方向向量分别为 `bm r_i`, `i = 1, 2`.
	则它们的距离等于其公垂线段长, 即
	<span class="formula">
		`|(vec(P_1 P_2)"," bm r_1"," bm r_2)| / |bm r_1 xx bm r_2|`.
	</span>
	这个公式说明, 两异面直线的距离等于以 `vec(P_1 P_2), bm r_1, bm r_2`
	为棱的平行六面体的体积与以 `bm r_1, bm r_2`
	的邻边的平行四边形的面积之比.
</p>

<ol class="proof">
	<li>先证两异面直线上的点之间的所有连线中, 以公垂线段最短.
		设 `l_1, l_2` 的公垂线段为 `M_1 M_2`, 其中 `M_i in l_i`,
		`i = 1, 2`. 
		作出由 `P_1, bm r_1, bm r_2` 决定的平面 `pi`,
		则 `M_1 M_2` 垂直于 `pi`.
		设 `N` 是 `P_2` 在 `pi` 上的垂足.
		由 `l_2 //// pi` 知 `|P_2 N| = |M_1 M_2|`.
		由于 `|P_2 N|` 是 `P_2` 到
		`pi` 的最短距离, 所以
		<span class="formula">
			`|M_1 M_2| = |P_2 N| le |P_1 P_2|`.
		</span>
	</li>
	<li>易知 `bm r_0 = (bm r_1 xx bm r_2)/|bm r_1 xx bm r_2|`
		是平面 `pi` 的一个单位法向量, 于是
		<span class="formula">
			`|M_1 M_2| = |P_2 N|
			= |vec(P_1 P_2) * bm r_0|`.
		</span>
	</li>
</ol>

<h3>两直线所成的角, 直线和平面所成的角</h3>

<p class="definition">
	<b>两直线所成的角</b>规定为它们方向向量夹角中不大于 `pi//2` 的那一个.
	<b>直线与平面所成的角</b>规定为直线和直线在平面上的射影所成的角.
	当直线与平面垂直时, 它们的夹角规定为 `pi//2`.
</p>

<h2>包络线</h2>

<p class="example">
	设 `gamma` 是平面曲线, 它的全体切线组成直线束
	`Gamma = {l(t): f(t) x + g(t) y = c}`,
	则 `gamma` 称为 `Gamma` 的<b>包络 (线)</b>.
	下面求包络线.  设 `gamma` 的参数方程为
	`(x(t), y(t))`, 且点 `P(t) = (x(t),y(t))` 是 `gamma` 与直线
	`l(t)` 的切点, 这时 `gamma` 在 `P(t)` 处的切向量应与 `l(t)` 平行, 有
	<span class="formula">
		`dy/dx = (y'(t))/(x'(t)) = -(f(t))/(g(t))`,
	</span>
	即
	<span class="formula">
		`f(t) x'(t) + g(t) y'(t) = 0`.
		<span class="label" id="for-envelope-1"></span>
	</span>
	又由 `P(t)` 在切线上, 有
	<span class="formula">
		`f(t) x(t) + g(t) y(t) = c`.
		<span class="label" id="for-envelope-2"></span>
	</span>
	上式两边对 `t` 求导, 再与 <a class="ref" href="#for-envelope-1"></a> 相减得
	<span class="formula">
		`f'(t) x(t) + g'(t) y(t) = 0`.
		<span class="label" id="for-envelope-3"></span>
	</span>
	从 <a class="ref" href="#for-envelope-2"></a>
	<a class="ref" href="#for-envelope-3"></a>
	组成的方程组中解出 `x(t)`, `y(t)`, 就得到曲线的参数方程.
</p>

<p class="example">
	求直线束 `1/2 x cos t + y sin t = 1`, `t in [0, 2pi)` 的包络.
</p>

<p class="solution">
	列出方程组
	<span class="formula">
		`{ 1/2 x cos t + y sin t = 1;
		-1/2 x sin t + y cos t = 0 :}`
	</span>
	从上式解出 `x, y` 就得到参数方程. 现在我们求隐方程, 两式平方相加得
	<span class="formula">
		`x^2/4 + y^2 = 1`,
	</span>
	这是一个椭圆.
</p>

<p class="example">
	在平面直角坐标系中, 求直线 `A_k B_k` 的包络线与坐标轴围成图形的面积,
	其中 `A_k(0, k/n)`, `B_k((n+1-k)/n, 0)`, `k = 1, 2, cdots, n`.
</p>

<p class="solution">
	记 `k/n = t`, 则直线束可以用
	<span class="formula">
		`x/(1-t) + y/t = 1`, `quad t in (0, 1)`
	</span>
	来近似. 解方程组
	<span class="formula">
		`{x/(1-t) + y/t = 1;
		x/(1-t)^2 - y/t^2 = 0 :}`
	</span>
	得到 `x = (1-t)^2`, `y = t^2`. 隐方程为
	<span class="formula">
		`sqrt x + sqrt y = 1`, 或 `y = 1 - 2 sqrt x + x`.
	</span>
	面积为
	<span class="formula">
		`int_0^1 (1 - 2 sqrt x + x) dx`
		`= 1 - 4/3 + 1/2 = 1/6`.
	</span>
</p>

<script src="../../js/note.js?type=math"></script>
</body>
</html>
